package com.devplatform.service.points;

import com.baomidou.mybatisplus.extension.service.IService;
import com.devplatform.pojo.points.MonthPointsSummaryDTO;
import com.devplatform.pojo.points.UserPoints;

import java.util.Map;

/**
 * @author 86156
 * @description 针对表【user_points】的数据库操作Service
 * @createDate 2025-09-28 10:03:14
 */
public interface UserPointsService extends IService<UserPoints> {

    // 签到核心方法
    Map<String, Object> userCheckIn(Long userId);

    // 按用户ID查积分
    UserPoints getByUserId(Long userId);

    // 获取用户积分详情
    Map<String, Object> getUserPointsInfo(Long userId);

    // 积分兑换热度
    void exchangePointsForHot(Long userId, Long articleId, int hotValue);

    int incrementPoints(Long userId, Integer points);

    // 获取用户签到状态
    Map<String, Object> getCheckInStatus(Long userId);

    //本月积分数据
    MonthPointsSummaryDTO getMonthPointsSummary(Long userId);
}
